Skip to main content

MERN Delete

Let's add a new table cell

App.js

<tbody>
{holidays.map((holiday) => {
return (
<tr key={holiday.id}>
<td> {holiday.name}</td>
<td>X</td>
</tr>
);
})}
</tbody>

Let's add a function called delete holiday. It will do two things, make a call to our api to delete the holiday and then update our view to reflect our data

const deleteHoliday = async (id) => {
const response = await fetch(`/api/holidays/${id}`, {
method: "DELETE",
headers: {
"Content-Type": "application/json",
},
});
if (response.ok) {
setHolidays(holidays.filter((day) => day.id !== id));
}
};

Now we'll add a click event to our new td

gotcha in order to pass an argument in our click event we have to wrap our function inside an anonymous function

<td onClick={() => deleteHoliday(holiday.id)}>X</td>;